import java.util.Scanner;

/**
 * 循环结构——while
 *   语法：
 *      while(进入循环的条件){
 *          //循环体
 *      }
 *      do{
 *          //循环体
 *      }while(进入循环的条件);
 *   二者的区别：
 *      while循环，先判断条件再进入循环，可能一次都执行不了，或者是能执行很多次
 *      do-while循环，先执行一次，然后再判断条件，至少会执行一次
 *
 *   实现的步骤：
 *      1.初始化一个变量
 *      2.判断变量是否满足进入循环的条件
 *      3.进入到循环体内部
 *      4.改变初始变量的值
 *      5.重复2
 *      6.否则不满足进入循环的条件，就跳出循环
 *
 *   控制循环的语句：
 *      break，表示循环体就此结束
 */
public class Demo05 {

    public static void main(String[] args) {

        //计算1 - 100的和
        int i = 1;
        int res = 0;

        //只要是i 符合 < 101这个条件，就一直在执行循环体
        while(i < 101){

            //进入了循环体
            res += i;

            //改变初始值
            i++;
        }
        System.out.println(res);

        /*
            例1：模拟用户登录，给他5次机会
         */
        Scanner scanner = new Scanner(System.in);

        int count = 1;
        while(count < 6){
            System.out.println("请输入用户名：");
            String username = scanner.next();

            System.out.println("请输入密码：");
            String password = scanner.next();

            if("admin".equals(username) && "000".equals(password)){
                System.out.println("登录成功！");

                //跳出循环，循环就结束了
                break;
            }else{
                System.out.println("很抱歉，用户名或密码不正确，您还有"+(5-count)+"机会");
                count++;
            }
        }

        /*
            例2：tom参加java考试，第一次考试没有通过，老师要求tom继续参加补考，直至补考及格才能学习下一门课程，
                tom历尽千辛万苦，终于在3次补考后成功通过了考试
         */
        double score = 0;
        do {
            System.out.println("请输入成绩：");
            score = scanner.nextDouble();

            if(score < 60){
                System.out.println("对不起，请补考");
            }else {
                System.out.println("恭喜你通过了");
            }
        }while (score < 60);

        /*
            例3：和机器人小Q对话
         */
        String said = "";
        do{

            said = scanner.next();

            if(!said.equals("再见") && !said.equals("88") && !said.equals("byebye")){

                //没有终止循环，一直在对话
                if(said.equals("你好")){
                    System.out.println("你好呀");
                }else if("今天天气真不错".equals(said)){
                    System.out.println("我吃过饭了");
                }else {
                    System.out.println("我听不见你在说什么,再说一次呢");
                }

            }else{
                System.out.println("你终于走了！");
                break;
            }
        }while(true);
    }
}
